"""
语法:
class 类名:
    #可有可无
    构造方法(self)
    #代码或者方法................
1.注意要保持缩进
2.self表示对象自身,可以理解为Java的this,一个指针指向对象本身
"""


# 一个类
class Cat:

    # 无参数的构造方法
    # def __init__是一个构造方法
    # 无参数的构造方法不写也行
    def __init__(self):
        # 定义并初始化类的属性
        # 只有带self.属性名,的才是给类定义一个属性,反之则是普通的变量
        self.name = "小红帽"

    # 带参数的构造方法
    # 需要注意的是,python是没有方法重载的!,所以后面定义的会覆盖前一个,普通方法同理

    def __init__(self, name, age, color):
        self.name = name
        self.age = age
        self.color = color

    # 自定义一个类的方法
    def print(self):
        print(self.name)
    # 可以通过self.属性或者方法调用到属于类自身的成员


# 创建一个cat的对象
cat1 = Cat("狸花猫", 17, "red")

redCat = Cat(name="小明", age=15, color="red")
print(redCat)

# 使用类的方法
cat1.print()
